package com.pig4cloud.pig.module.api.entity.property;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pig4cloud.pig.common.core.annotation.Excel;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import java.util.List;

/**
 * 物业费相关费用的模板对象 property_fee_order_template
 *
 * @author ruoyi
 * @date 2022-06-27
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("property_fee_order_template")
public class PropertyFeeOrderTemplate implements Serializable {

    private static final long serialVersionUID = 1L;


    /**
     * $column.columnComment
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /**
     * 小区id
     */
    private Integer estateId;

    /**
     *  小区名称
     */
    @Excel(name = "小区名称")
    private String estateName;

	/**
	 *  缴费订单id
	 */
	private Integer feeOrderId;

	/**
	 * 房屋id
	 */
	private Integer roomId;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String realName;

    /**
     * 房间号。户号
     */
    @Excel(name = "户号")
    private String roomNo;



    /**
     * 房屋面积
     */
    @Excel(name = "房屋面积")
    private Double roomArea;

    @TableField(exist = false)
    private String beginDate;

    @TableField(exist = false)
    private String endDate;
    /**
     * 房屋类型  0 - 高层 1 - 低层 2- 商业 3 - 别墅 4 - 其他
     */
    private Integer roomType;

	/**
	 *  是否是车库
	 */
	private Integer isGarage;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phoneNum;

    /**
     * 车牌号
     */
    @Excel(name = "车牌号")
    private String carNum;

    /**
     * 费用类型 wyf - 物业费 rubbish - 垃圾处理费 car - 车位费  water - 水费 ，eletrict - 电费 ，jiaya - 加压费
     */
    private String feeType;

    /**
     * 年份
     */
    @Excel(name = "年份")
    private String yearNum;

    /**
     * 月份
     */
    @Excel(name = "月份")
    private String monthNum;

    /**
     * 单价
     */
    private BigDecimal singlePrice;

    /**
     * 总价
     */
    @Excel(name = "缴费金额")
    private BigDecimal totalPrice;

    /**
     * 已支付金额
     */
    private BigDecimal paidPrice;

    /**
     * 优惠金额
     */
    private BigDecimal youhuiPrice;

    /**
     * 未支付金额
     */
    private BigDecimal unPayPrice;

    /**
     * 数量
     */
    private BigDecimal paidCount;

    /**
     *  水费起数
     */
    private BigDecimal beginCount;

    /**
     *  水费止数
     */
    private BigDecimal endCount;

    /**
	 *  缴费日期
	 */
	private String payDate;

	/**
	 *  已交月份
	 */
	private String paidMonth;

    /**
     * 是否绑定到微信上
     */
    private Integer isBand;

    /**
     * 绑定的微信用户id
     */
    private Integer bangWxUserId;

    /**
     * 费用状态 0 - 未交费  1 - 已交费 2 - 线下缴费
     */
    private Integer state;


    @Excel(name = "费用类型")
    @TableField(exist = false)
    private String feeTypeName;

    /**
     * 交费状态
     */
    @Excel(name = "交费状态")
    @TableField(exist = false)
    private String stateStr;

    /**
     * 备注信息
     */
    @Excel(name = "备注信息")
    private String remark;

	/**
	 *  添加日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

	/**
	 *  是否是 抄表数据 0 - 批量导入数据 1 - 手动抄表数据
	 */
	private Integer isManualData;
	/**
	 *  是否欠费  0 - 非欠费  1 -  欠费
	 */
	private Integer isArrears;

	@TableField(exist = false)
	private Integer isCanEdit;


	@TableField(exist = false)
    private List<Integer> ids;

    @TableField(exist = false)
    private Integer type;

    /**
     *  线下缴费日期
     */

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;


    @Excel(name = "线下交费时间")
    @TableField(exist = false)
    private String payTimeEx;

    @TableField(exist = false)
    private Date xianshangBeginDate;

    @TableField(exist = false)
    private Date xianshangEndDate;
}
